﻿/************************************************************************
 * SSViewer - State Space Viewer for SMLib Library
 * Copyright (C) 2012-2013 Ali Khalili (khalili_DOT_ir_@SIGN_gmail_DOT_com)
 * **********************************************************************
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License (LGPL) published 
 * by the Free Software Foundation; either version 2.1 of the License, or (at your
 * option) any later version. This program is distributed without any
 * warranty. See the GNU Lesser General Public License for more details. 
 * ***********************************************************************
 * The following component is required for SSViewer: 
 * GLEE.msi (http://research.microsoft.com/research/downloads/Details/f1303e46-965f-401a-87c3-34e1331d32c5/Detailslynn.aspx?0sr=a). 
 * The terms and conditions governing GLEE are contained in the license provided 
 * through the above link apply to your use of GLEE. Any license restrictions 
 * provided in the GLEE license are in addition to, not in lieu of, the terms 
 * and conditions of this license. 
 * IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE.
 * ***********************************************************************
 * File         :     SSViewer\AutomataVisualizer.cs
 * Description  :     Direct call of visualizer
 * Change log   :     
 * To Do        :
 ************************************************************************/
using System;
using System.Collections.Generic;
using SMLib.Base;

namespace Visualization
{
    /// <summary>
    /// Direct call of visualizer
    /// </summary>
    public class AutomataVisualizer
    {
        /// <summary>
        /// Visualize function
        /// </summary>
        /// <typeparam name="STATETYPE">Type of states</typeparam>
        /// <typeparam name="TRANSITIONTYPE">Type of transitions</typeparam>
        /// <param name="myGraph">the graph to be visualized</param>
        public static void Visualize<STATETYPE, TRANSITIONTYPE>(IDiGraph<STATETYPE, TRANSITIONTYPE> myGraph)
        {		
            SSViewer<STATETYPE, TRANSITIONTYPE> viewer = 
				new SSViewer<STATETYPE, TRANSITIONTYPE>(myGraph);
            viewer.ShowDialog();
        }
    }
}
